#ifndef FILE_DESCRIPTOR_H
#define FILE_DESCRIPTOR_H

#include <unistd.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <iostream>

class FileDescriptor
{
    private:
        int _fd;

        FileDescriptor(const FileDescriptor&);
        FileDescriptor& operator = (const FileDescriptor&);

    public:
        FileDescriptor(int fd)
        {
            _fd = fd;
        }
        
        ~FileDescriptor()
        {
            if (_fd > 0)
            {
                std::cout << "Closing fd: " << _fd << std::endl;
                close(_fd);
            }
        }

        int FD()
        {
            return _fd;
        }
};

#endif
